package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


/**
 * @desc BatchAddBasicBatchFteComReqDto
 * @使用场景
 */
@Data
public class BatchAddBasicBatchFteComReqDto extends BaseDto implements Serializable {

    @ApiModelProperty("指标列表 ")
    List<String> targetObjList = new ArrayList<>();

    /**
     * 被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
     */
    @NotNull(message = "被评对象类型编码不能为空")
    @ApiModelProperty("被评对象类型编码")
    private String evaObjTypeCode;

    /**
     * 树类型编码 PLAN_TREE:规划树 EVALUATION_TREE:评价树 DEP_OBJ_MIS_STA:部门目标任务书 DUTY_SUBJECT:OKR责任主体树
     */
    @NotNull(message = "树类型编码不能为空")
    @ApiModelProperty("树类型编码")
    private String treeTypeCode;

    /**
     * 冗余目标ID
     */
    @NotNull(message = "冗余目标ID不能为空")
    @ApiModelProperty("冗余目标ID")
    private String targetId;

    /**
     * 归属对象ID
     */
    @NotNull(message = "评价模板ID不能为空")
    @ApiModelProperty("评价模板ID")
    private String evaluationTemplateId;

    /**
     * 是否用于一级部门 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否用于一级部门")
    private String isUseFirstDept;

    /**
     * 批次名称
     */
    @NotNull(message = "批次名称不能为空")
    @ApiModelProperty("批次名称")
    private String batchName;

    /**
     * 是否首次批次 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否首次批次不能为空")
    @ApiModelProperty("是否首次批次")
    private String isFirst;

    /**
     * 批次设置对象类型 BASIC_DIV_MGT:基层分工管理 MID_DIV_MGT:中层分工管理 TOP_EVA_TEMP_MGT:高层评价模板管理
     */
    @NotNull(message = "批次设置对象类型不能为空")
    @ApiModelProperty("批次设置对象类型")
    private String batchSetObjectType;

    /**
     * 当前管理对象类型 TOP:高层 MID:中层 BASIC:基层 UNMANNED_MGT:无人管理
     */
    @NotNull(message = "当前管理对象类型不能为空")
    @ApiModelProperty("当前管理对象类型")
    private String currentManageObjectType;

    /**
     * 是否统一管理 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否统一管理不能为空")
    @ApiModelProperty("是否统一管理")
    private String isUnifiedMgt;

    /**
     * 批次标识
     */
    @NotNull(message = "批次标识不能为空")
    @ApiModelProperty("批次标识")
    private String batchCode;


}
   